H5混合模块
应用内嵌H5页面如果也需要进行数据采集,H5页面需要集成 Web JS SDK
若需要 H5页面 Web JS SDK 采集的数据与APP 中 GIO SDK采集的用户等数据打通,请参考:
WebJS:Hybrid内嵌页打通插件
如果集成的是无埋点SDK, 不需要做设置,SDK 会自动注入桥接代码,实现数据打通。
如果集成的是埋点SDK,则项目需要添加 hybrid 模块依赖(和 SDK 依赖同级)
SDK说明
关键词 | 是否集成 | 输入数据类 | 输出数据类 | 最低SDK版本 |
---|---|---|---|---|
hybrid | 埋点SDK中,手动集成 无埋点中自动注入 | 1. HybridBridge 2. HybridDom | 1. Boolean 2. HybridJson | >=3.3.0 |
依赖方式
- 依赖
- BoM
dependencies {
implementation 'com.growingio.android:hybrid:3.5.4'
}
dependencies {
// Import the BoM for the GrowingIO platform
implementation platform('com.growingio.android:autotracker-bom:3.5.4')
implementation 'com.growingio.android:hybrid'
}
使用方式
在埋点SDK中需要手动集成 Hybrid 模块才能实现与内嵌 H5 的数据互通。
埋点SDK示例代码:
// 在初始化SDK时,可以提前注册hybrid模块
// hybrid模块需要依赖对应 hybrid模块包 hybrid
GrowingTracker.startWithConfiguration(this,
new CdpTrackConfiguration("accountId", "urlScheme")
//...
.addPreloadComponent(new HybridLibraryGioModule()));
需要在 WebView 初始化之后调用桥接代码,实现访问用户数据打通:
埋点SDK示例代码:
GrowingTracker.get().bridgeWebView(webview)
结果
1. H5页面 Web JS SDK 采集的数据与APP 中 GIO SDK采集的用户等数据打通规则:
- 两者 accountId 一致时,H5与APP打通,此时H5页面上采集的数据仅由 APP 中 GIO SDK 发送
- 两者 accountId 不一致时,H5页面上采集的数据同时由 Web JS SDK 和 APP 中 GIO SDK发送 满足打通设置时,H5 页面调用 setUserID,cleanUserID 会调用 APP 的 setLoginUserID,cleanUserID。
2. 打通成功效果
当触发了打通规则,实现打通设置后,h5内嵌页采集的数据经 APP 中 GIO SDK发送数据。以下字段变化如下:
deviceId: 使用原生App的deviceId
sessionId: 使用原生App的sessionId
gioId: 使用原生App的gioId
userId: 使用原生App的userId
userKey: 使用原生App的userKey
dataSourceId: 使用原生App的dataSourceId
platform: 使用原生App的platform
domain: 使用H5页面的域名
用户行为与采集数据描述:用户点击APP内嵌H5页面,由APP原生页面进入H5页面,H5页面集成的采集SDK会把采集的数据转发给APP集成的SDK,再进行上报;H5页面的行为数据中的以上用户信息字段会用APP SDK 采集的用户信息,实现H5页面用户与APP用户信息关联。